// The idea by pastycam is to provide a simple camera class that doesnt depend on opengl or any math lib
// this is so pastycam easily can be pasted into any project with minimal fuss and then loaded with for instance glLoadMatrixf or
// transfered as a uniform to a Shader. No dependencies also reduce compile time.
// -Torbjoern

#pragma once

class PastyCam
{
public:
	float lastDx, lastDy, lastDz;
	float posx, posy, posz;
	float dirx, diry, dirz;
	float hang;
	float vang;
	float modelview[16];

	PastyCam();
	void update(float vx, float vy, float vz, float deltaHang, float deltaVang);
	float* getMatrix();
	void GetInverseMatrix(float *mCameraInverse); // for shadowmap render
	void lookAt( float x, float y, float z );
};
